home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Light ROM 1
/
LIGHT-ROM 1 (Amiga Library Services)(1994).iso
/
ffdisks
/
d979.lha
/
MouseAideDEMO
/
History
< prev
next >
Wrap
Text File
|
1994-04-04
|
15KB
|
320 lines
---------------------
"MouseAide" History
---------------------
Changes for: v9.75a.08.03.93 (Rel.7b)
07.20.93 Added the ability to 'EzDrag' windows that have there own custom
drag gadget, such as 'ToolManager' has with its 'Docks'
07.27.93 Added the automatic adjustment to systems who generate a Middle
Mouse Button Qualifier, but do NOT have a MMB!
08.02.93 Fixed a small bug in the 'EzDate' building code, that would NOT
generate a correct 'Formated' date!
08.03.93 Added the ability to ignore a qualifier when defining a 'Hot Key'
by prefixing it with a: '-' character. For example:
lalt -lshift t
would ignore the 'Left Shift' qualifier when checking for the
'Left Alt t' sequence! Another example:
lamiga -capslock -lshift -rshift esc
Would ignore the 'Caps Lock', 'Left Shift' & 'Right Shift'
qualifiers when scaning for the 'Left Amiga Esc' sequence!
Changes for: v9.76a.08.20.93 (Rel.7c)
08.20.93 Fixed a bug in the 'Workbench to Front' function, that could at
min. cause a 'Enforcer' hit, and at max. cause a system lockup
& a system guru! The problem was two fold: One, I relied on
the 'input.device' as a easy timmer, NOT smart because calls
to 'intuition' can freeze the 'input.device'!!! Two, my find
'Workbench' window routine could return a invaild pointer, if
the 'Workbench' process is bog down!
Add a small delay to the 'Auto-Activate' function when the
right mouse button is released (Menu up) to give 'Workbench'
time to use the last activate window in any of its functions,
before a new window is activated! This allows function such
as 'Snapshot' to 'Snapshot' the correct window, not the window
that the pointer ends up over after releasing the menu button!
08.21.93 Fixed a tiny bug that was releasing one-byte-short on the user
'Hot Key' definations, on shutdown
During 'Screen Blanking' I now check for, at the rate set for
'Mouse Blanking', for an un-blanking state and re-blank if
needed! This is needed when a program opens a new screen, or
brings their screen to the front, while we are trying to show
are 'Blanking' screen.
Changes for: v9.77a.08.20.93 (Rel.7d)
09.12.93 Fixed a small, but insidious bug in which I search for one more
entry in the: 'Hot Key functions'/'Macros' array then are defined!
If the memory just passed the code array table if just right (or
should I say just wrong) POP BANG GURU!!!!
Changes for: v9.78a.08.20.93
09.14.93 Add 'Enlarge/Shrink Window' function, that will adjust a windows
size to its max./min. values & adjusting its position if needed!
(will work even with a custom 'size' gadget, nice eh?)
If the mouse pointer is blanked (from key, or timeout) I NO longer
look for the window under the mouse pointer for any of the 'Window'
functions! This allows the active window to be 'Key Closed',
'Enlarged', 'Shrunk', etc... without having to move the pointer
over the window, nice touch if you are a keyboard user!
Changes for: v9.79a.09.17.93
09.20.93 Added a 'Zip Window' function that will invoke the 'Zoom' function
of a window if it has a 'Zoom' gadget! But, I did not stop there
I also created a 'Zip-Cache' for windows without a 'Zoom' gadget!
I did this for two reasons: One, I would like to have alternate
position for all windows that can be dragged, not just ones with
a 'Zoom' gadget! Two, for people with older machines that do NOT
have the 'Zooming' ability, this function will create it! I
decided to use a 'cache' to hold the window's 'alternate' size/
position, instead of patching into 'intuition' this method is
safer, and requires less coding, with in turn produces less bugs.
As of this version I use: a 32-unit (Windows) cache, that is
allocate when this fuction is invoked. I also bubble up the
last called unit (window) which makes it easier to find on the
next call, and protects it from being replaced if there is more
than the 32-unit being 'Zipped'
Changes for: v9.80a.09.27.93 (Rel.8)
09.25.93 I now allow qualifier keys to do key-blanking & key-activating!
09.26.93 Fixed a small bug in how I detected when the 'input.device' was
locked up, causing a deadlock! My old routine would sometimes
abort the 'dragging' process when the 'input.device' was NOT
locked up!
09.27.93 Added a 'Upstroke' Qualifier to the 'Hot-Key' parser, which will
allow the user to trigger any hot key function by having: a key
pressed down (default), released (upstroke), or both (-upstroke)
I added this ability because of toggle functions such as 'EzDrag'
which work better when toggled on by the downstroke, and toggled
off by the upstroke!
Changed the default 'Hot Key' sequence for 'EzDrag' to use the
new 'Upstroke' qualifier (-upstroke)
I now remove 'Repeat' hot-key events. I did this because some
programs (bad coding) do NOT like to receive repeat events when
they did not receive the first event!
I now abort the 'EzDrag' mode if the active screen changes. No
more hidden dragging!
09.28.93 Added 'Freeze Mouse-X' & 'Freeze Mouse-Y' functions that allows
the user to user to freeze the Mouse movement in either the X,
or Y direction, nice for moving Icons or in drawing programs!
This function was suggested to me about a year ago, but it did
NOT become easy to implement until I added the '-Upstroke'
qualifier!
Added the 'Un-Accelerate Mouse' function that allows the user to
toggle, on and off, the 'Acceleration' function. Nice function
to have for making very small mouse movements! This function was
suggested to me by a new user, and also became easy to implement
because of the '-Upstroke' qualifier!
Changes for: v9.81a.03.07.94 (Rel.9)
01.13.94 Added the ability to define a 'Hot-Key' for either of the double
qualifier keys! So by using the follow qualifier keywords:
AMIGA for the LAMIGA or RAMIGA
ALT for the LALT or RALT
SHIFT for the LSHIFT or RSHIFT
CAPS for the LSHIFT or RSHIFT or CAPSLOCK
you can define a 'Hot-Key' sequence that will function on more
the one sequence. You also can also use the above keywords to
ignore both the 'Right' & 'Left' qualifiers by prefixing it with
a: '-' character. Here are a few examples:
alt t
would define a 'Hot Key' sequence that is triggered either the
'Left Alt t', 'Right Alt t', or the 'Right Alt Left Alt t'
sequence!
amiga shift -alt j
would define a 'Hot Key' sequence that is triggered by all of the
following sequences:
'LAmiga LShift j'
'LAmiga RShift j'
'RAmiga LShift j'
'RAmiga RShift j'
'LAmiga RAmiga LShift j'
'LAmiga LShift RShift j'
'LAmiga RAmiga LShift Rshift j'
'LAmiga LShift RAlt j'
'LAmiga RShift RAlt j'
'RAmiga LShift RAlt j'
'RAmiga RShift RAlt j'
'LAmiga RAmiga LShift RAlt j'
'LAmiga LShift RShift RAlt j'
'LAmiga RAmiga LShift Rshift RAlt j'
'LAmiga LShift LAlt j'
'LAmiga RShift LAlt j'
'RAmiga LShift LAlt j'
'RAmiga RShift LAlt j'
'LAmiga RAmiga LShift LAlt j'
'LAmiga LShift RShift LAlt j'
'LAmiga RAmiga LShift Rshift LAlt j'
'LAmiga LShift RAlt LAlt j'
'LAmiga RShift RAlt LAlt j'
'RAmiga LShift RAlt LAlt j'
'RAmiga RShift RAlt LAlt j'
'LAmiga RAmiga RAlt LAlt LShift j'
'LAmiga LShift RAlt LAlt RShift j'
'LAmiga RAmiga RAlt LAlt LShift Rshift j'
Nice, eh?
01.19.94 Fixed a problem between the 'Freeze Mouse-X' & 'Freeze Mouse-Y'
functions and the 'Un-Accelerate Mouse' function that would NOT
allow both to be used at the same time (this showed up when I
defined the 'Un-Accelerate Mouse' function to toggle on/off with
the 'F1' key, but then was NOT able to have the 'Freeze Mouse-X'
& 'Freeze Mouse-Y' functions work at all!) Both are compatible
now!
02.03.94 Added the ability to define a 'Hot-Key' on the numeric key pad
with the 'NUMPAD' qualifier. For example:
numpad 9
would define a 'Hot-Key' to the '9' key on the numeric key pad!
Nice eh?
Fixed a small bug with would NOT allow the user to define a 'Hot-
Key' to the '-' key (because of the pre-qual. modifier). If the
'-' key is the last character on the definition I will now allow
the key to be defined. Note: the 'commodities.library' has the
same bug, neat eh?
02.04.94 Added the following alternate keywords:
CONTROL for CTRL key
LCOMMAND for Left AMIGA key
RCOMMAND for Right AMIGA key
NUMERICPAD for qualifier for keys on numeric key pad
MIDBUTTON for middle mouse button
LEFTBUTTON for left mouse button
COMMAND for left | right AMIGA key
RIGHTBUTTON for right mouse button
I did this to make it easier for 'commodities' users. I almost
have compatible system in place now!
02.18.94 Added an 'EzSize' function that allow allow the user to size a
window without using the 'sizing' gadget, but with a user defined
'Hot-Key' sequence, NO need to lock on the 'sizing' gadget any
more! I also improved the process, by allow the user to use any
of the four corners for the sizing. NO more having to first move
a window you want to re-size, just place the pointer over the
corner that is open for adjustment, and activate the 'EzSize'
function! If you only want to re-size one axis, I also allow the
user to lock the other axis by placing the pointer in the middle
of axis you wish to lock. For example, if you want to move the
top of a window down a bit, but do NOT want to change the width,
just place the pointer pointer at the top of the window and in
between the left & right sides of the window, and activate the
'EzSize' function. You can now adjust the height of the window
without effecting the width! Now a real clever person should be
saying 'what about the middle of the window, where both the X & Y
axis could be locked?' Well I do NOT waste that area either!
When activated in the middle of a window I default to the 'EzDrag'
function, which allows you to drag the window! You now can size
and drag a window with one easy to use function!!! nice eh?
Here are how the actions of the 'EzSize' function are determined:
<- 1/4 -> <- 1/2 -> <- 1/4 ->
--> +--------+----------------+--------+
| X & Y | Y | X & Y |
1/4 | | | |
| Sizing | Sizing | Sizing |
--> +--------+----------------+--------+
| | | |
| X | EzDragging | X |
1/2 | | | |
| Sizing | Zone | Sizing |
| | | |
| | | |
--> +--------+----------------+--------+
| X & Y | Y | X & Y |
1/4 | | | |
| Sizing | Sizing | Sizing |
--> +--------+----------------+--------+
( X & Y Sizing is from the corner that the pointer was over when
the 'EzSize' function was activated)
02.22.94 When in the sizing/dragging mode I now use my own copy of the
screen's "RastPort", borrowing the screen's is NOT a very smart
thing to do!
02.26.94 I stopped sending the 'un-blanking' command every time that the
mouse is moved! Now I check the current state of the 'Mouse' to
see if it is required to send the command, the old method was a
big waste of CPU time!
02.28.94 Added a 'Version' string so that you can use the "Version" command
to identify what version of "MouseAide" you have without having to
start it up!
02.28.94 The 'Auto Activation' function would NOT activate a screen (make
the screen under the pointer the active one) if the pointer was
NOT over a window. For example, if you were turning screens
with the pointer over the title bars, "MouseAide" would NOT try
to activate the new screen, because the pointer was NOT over a
window! This flaw was created because there is NO intuition
function to activate a screen, it is done when a window on a
screen is activated! This small flaw becomes a pain when after
you turn to a new window, and then try to access the menus, NO
menus, until you get the new screen active! To fix this problem
I now activate the first window on an screen when the pointer is
NOT under a window, and NOT over an activte screen! I hope this
will work ok!
Also, make the screen turning function activate the first window
on the new screen that is in the front. The old method was to
get the top most layer and hope it was a window. The new method
should work better!
03.04.94 Did a little work on 'timer' routines. Since I started using the
timer for more than one function I thought I better make the
timer routines more general purpose in use!